专利摘要:
Die Erfindung betrifft ein Verfahren zum Schützen von mindestens zwei Robotern, insbesondere Mehrachs-Industrie-Robotern gegen Kollisionen, bei dem Bewegungen eines Roboters automatisch auf mögliche Kollisionen geprüft werden und in den Bewegungsablauf automatisch Verriegelungen eingefügt werden.
公开号:DE102004027944A1
申请号:DE102004027944
申请日:2004-06-08
公开日:2005-12-29
发明作者:Gerhard Hietmann;Martin Dr. Weiss
申请人:KUKA Roboter GmbH;
IPC主号:B25J9-16
专利说明:
[0001] DieErfindung betrifft ein Verfahren zum Schützen mindestens eines Roboters,insbesondere mindestens eines Mehrachs-Industrie-Roboters gegenKollisionen.
[0002] Innerhalbeiner Produktionszelle sind asynchrone Bewegungsabläufe derRoboter und anderer beweglicher Objekte durch eine nicht synchronisierteMaterial-Zu-/Abführung(Einlegestation, Shuttle, Zwischenpuffer-Füllsand, unterschiedliche Bearbeitungszeiten,...) nicht vermeidbar und bezüglichder Bearbeitungszeit meist optimal. Um vorgegebene Fügefolgeneinzuhalten, müssenAbläufezudem auch sequentiell abgearbeitet werden. Erfordert nun eine Applikationbzw. ein Prozess eine Bearbeitung durch mehrere Roboter, Zusatzachsenoder Transportsysteme in einem räumlichengen Bereich oder einem gemeinsam genutzten Arbeitsbereich, sokönnensich Roboter (Objekt)-Bewegungsbahnen kreuzen. Dies führt dannzu einer Kollision und zu einem Schaden am Roboter, Flansch-Werkzeug,Transportsystem oder anderen Peripherie-Komponenten.
[0003] Umdies zu verhindern, müssenentsprechende Mechanismen zur Vermeidung von Kollisionen realisiertwerden. Dies geschieht heute durch eine zeitversetzte Nutzung gemeinsamerArbeitsbereiche oder Bewegungskorridore. Welcher Roboter, welcheZusatzachse oder welches Transportsystem zu welcher Zeit und inwelcher Reihenfolge sich im gemeinsam genutzten Arbeitsbereich oderRaumbereich aufhält,wird heute vom Anwender durch Verriegelungsanweisungen im Roboter-Programmfestgelegt. Die Kommunikation der Verriegelungsinformationen erfolgtentweder überdigitale Ein-/Ausgänge,die jede Robotersteuerung mit einer zentralen speicherprogrammierbarenSteuerung (SPS) austauscht. Dabei erfolgt die Organisation der Arbeitsbereicheauf der SPS. Bekannt ist auch der Austausch von Verriegelungsinformationen über einBussystem unter den beteiligten Robotersteuerungen ohne Einbindungeiner SPS. Die Verwaltung der Arbeitsbereiche erfolgt dabei aufeinem oder mehreren Robotersteuerungen. Bei dieser Art der Verriegelungwerden keine räumlichenSperr- oder Arbeitsbereiche definiert, sondern es wird nur über einSignal kommuniziert oder überprüft, dassder Roboter eine bestimmte Programmstelle durchlaufen hat. Dasses dabei nicht zu einer Kollision kommt, liegt einzig und alleinein der Verantwortung des Programmierers.
[0004] Erreichtein Roboter einen kollisionsgefährdetenBereich, wie einen von zwei Robotern gemeinsam genutzten Bereich,so prüfter übereine im Programm vorgesehene Anweisung "EnterSpace", ob der Arbeitsbereich frei ist. Istdies der Fall, kann der Roboter in den Arbeitsbereich einfahren.Verlässter diesen, so gibt er übereinen Befehl "ExitSpace" den Bereich frei.Ist der Bereich nicht frei, so muss der Roboter warten, bis derden Bereich belegende Roboter ihn in der vorstehend skizziertenWeise freigegeben hat.
[0005] Dain vielen Fällenmehrere Roboter auf sehr engem Raum arbeiten und die Bewegungennicht synchronisiert erfolgen, ist es für den Anwender nicht offensichtlich,welcher Roboter mit welchem anderen Roboter kollidieren kann. EineKollisionsmöglichkeitbesteht nicht nur mit der Roboterhand oder dem Werkzeug, das derRoboter trägt.Alle bewegten Teile könnenmit anderen Objekten in der Bearbeitungszelle zusammenstoßen. BeimRoboter kann das die gesamte Mechanikstruktur sein. Weiterhin sindbetroffen das Werkzeug, das Bauteil, das vom Werkzeug getragen wird,Transportsysteme, Zusatzachskinematiken, Bauteilspanner, Schutzzäune, Säulen, Tischeoder dergleichen.
[0006] Fallsder Programmierer eine Verriegelung vergisst, aus Versehen löscht, oderanderweitig missachtet, kann dies zu einer Kollision führen. Besondersbei der Inbetriebnahmephase einer Produktionszelle-/anlage können sokostspielige Störungenauftreten. Aufgrund der asynchronen Bewegungsabläufe führen nicht erkannte Kollisionspotentialeaber auch bei einer produzierbaren Anlage zu Zusammenstößen, wenneine kritische Konstellation zufälligzum ersten Mal auftritt und die erforderliche Verriegelung fehlt.
[0007] Beidem Vorgehen der Online-Kollisionserkennung sind folgende Problemezu nennen: Da bei den Robotern bei Erkennen einer möglichenKollision ein Stopp veranlasst wird und die beweglichen Roboterteileeinen geschwindigkeits- oder lastabhängigen Bremsweg zurücklegen,muss eine vorausschauende Kollisionsprüfung unter Berücksichtigungdes Bremsweges erfolgen. Dies ist in der Praxis nicht immer einfach.Zum einen ist diese Vorausschau in einem Robotersystem nicht einfachzu realisieren und auch der von der Bewegungsenergie abhängige Bremsweglässt keinenkonstanten Vorausschau-Weg zu. Zum anderen ist eine echtzeitfähige Kollisionsüberprü fung vonmehreren komplexen Objekten aus Rechenzeit- und Speichergründen kaumrealisierbar. Der Hauptnachteil ist aber, dass Kollisionspotentialeerst beim Auftreten einer möglichen Kollisionerkannt werden und dies zum Roboterstopp führt. Damit wird die Produktionunterbrochen und der Anwender muss im Produktionsbetrieb in dasProgramm eingreifen und entsprechende Verriegelungen programmieren.
[0008] Einweiterer bekannter Ansatz ist die "online-kollisionsfreie" Bahnplanung. Dabeiwird beim Erkennen eines Kollisionspotentials versucht, die Roboterbewegungenso zu verändern,dass die Roboter kollisionsfrei aneinander vorbeifahren können. Nebenden Problemen der oben beschriebenen Vorausschau und der Echtzeitfähigkeit,die hier ebenfalls gelten, sind die Anforderungen bei gemeinsamgenutzten Arbeitsbereichen nicht zufriedenstellend gelöst. In solchenAnwendungen ist es erforderlich, dass z. B. ein Roboter zuerst seine Aufgabean einem Bauteil vollbringt, bevor die Bearbeitung mit dem anderenRoboter erfolgen kann. Die automatische Planung einer kollisionsfreienBahn kann hier nicht zu einer befriedigenden Lösung führen. Das Wissen des Anwenders über denrichtigen/optimalen Haltepunkt des wartenden Roboters und das Wissen über dieReihenfolge der Roboterbearbeitung im gemeinsamen Arbeitsbereichist heute aufgrund der gegebenen Komplexität nicht zufriedenstellend aufein Programm abbildbar.
[0009] Einepraxistaugliche Generierung von optimalen kollisionsfreien Bahnenund eine automatische Festlegung von optimalen Haltepunkten undBewegungssequenzen (Reihenfolge der Nutzung gemeinsamer Arbeitsbereiche)ist in komplexen Bearbeitungszellen mit Robotern und Transfersystemendaher heute nicht möglich.
[0010] DerErfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mitdem mindestens ein Roboter zuverlässig gegen Kollisionen, insbesondereanderen Robotern geschütztwerden kann.
[0011] Erfindungsgemäß wird diegenannte Aufgabe bei einem Verfahren der eingangs genannten Artdadurch gelöst,dass Bewegungen des mindestens einen Roboters automatisch auf mögliche Kollisionengeprüft werdenund dass in den Bewegungsablauf automatisch Verriegelungen eingefügt werdenbzw. dem Anwender Hinweise auf einzutragende Verriegelungen gegebenwerden.
[0012] Durchdas erfindungsgemäße Verfahrenwird vermieden, dass notwendige Verriegelungen vergessen werden.Darüberhinaus schafft das erfindungsgemäße Verfahrendie Voraussetzungen dahingehend, dass überflüssige Verriegelungen vermiedenwerden. Das erfindungsgemäße Verfahrenarbeitet Offline. Statt einen automatischen Eintrag der Verriegelungenin die Programme, kann auch alternativ durch das Verfahren ein entsprechenderVorschlag an den Bediener ausgegeben werden.
[0013] Gemäß einerbevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens sieht die Erfindungvor, dass vor Einfügeneiner Verriegelung, vorzugsweise vor dem Prüfen auf mögliche Kollisionen, zulässige Verriegelungspunktebestimmt werden. In einer bevorzugten Ausbildung des erfindungsgemäßen Verfahrens kanndies dadurch geschehen, dass Satzgrenzen als mögliche Verriegelungspunktebestimmt werden.
[0014] Ein "Satz" ist dabei ein Programmabschnittminimaler Längezwischen zwei möglichenVerriegelungen. Satzgrenzen sind die Grenzen eines solchen Satzes.Diese könnenbeispielsweise dadurch bestimmt sein, dass der Roboter sich an ihnenzum Stillstand kommt, sich also an einem Genauhaltpunkt be findet.Es ist auch möglich,z. B. durch Bahnschaltfunktionen (Trigger bei KUKA) Verriegelungenauf der Bahn, d. h. nicht notwendig an einem Genauhaltpunkt, zuprogrammieren. Aber auch in diesem Fall ist die Aktivierung bzw. Deaktivierungder Verriegelung nur mit der Auflösung des Interpolationstaktesmöglich.In diesem Fall sind dann Satzgrenzen möglich an den diskreten Positionen,die sich bei Abtastung der Bahn mit Interpolationstakt der jeweiligenSteuerung und 100% Geschwindigkeit ergeben. Es ist weiterhin möglich, dassVorgaben über einenkartesischen oder achsspezifischen Abstand gemacht werden, der zwischenzwei Verriegelungen mindestens liegen muss. Hierdurch ist eine "Schrittweitensteuerung" für die Verriegelungmöglich.Im Extremfall kann auch ein Verriegelungspunkt in jedem Interpolationstaktvorgesehen werden. In der Robotik wird dabei anders als üblicherweisein der Mathematik unter dem Begriff "Interpolation" die diskrete Abtastung eines (Geschwindigkeits-)Profilsoder einer Bahn (im Raum) verstanden.
[0015] Nacheiner weiteren bevorzugten Ausgestaltung des Verfahrens ist vorgesehen,dass zur Kollisionserkennung Hüllobjektedes mindestens einen Roboters oder von Roboterteilen erzeugt werden,die auf Kollisionen hin geprüftwerden, wobei in bevorzugter Weiterbildung in an sich bekannterWeise die Hierarchien derartiger Hüllobjekte erzeugt werden. ZurVerringerung des mittleren Aufwands eines Kollisionstests zwischen zweiObjekten wird dabei eine Hierarchie von Hüllobjekten (Bounding Volumes)verwendet. Die Hierarchie umfasst dabei einfach strukturierte Körper, welchedie gesamte Geometrie des ursprünglichenObjekts umschließen, bis hin zu dessen konvexer Hülle. DieHüllobjektelassen sich im Mittel schneller auf die aktuelle Position transformierenund auf Kollision testen, als die exakte Geometrie der zugehörigen Objekte.Die Verwendung von Hüllobjektenzum schnellen Ausschluss von Kollisionen ist eine geeignete Methode,annäherndEchtzeitfähigkeitzu erreichen. MöglicheHüllobjektesind dabei Kugeln, Achsen-ausgerichtete Boxen (AABB), orientierteBoxen (OBB) und konvexe Hüllensowie gegebenenfalls weitere geometrische Hüllkörper. Die Hüllobjekte werden meist offlineerzeugt und aufsteigend nach der Genauigkeit ihrer Approximationgeordnet. Eine Ausnahme bilden die AABBs, welche das System nachjeder Bewegung des Objekts auf Basis einer "lokalen" OBB neu generiert. Als Heuristik für den Approximationsgraddient das Verhältniszwischen dem Volumen des Hüllkörpers unddem Volumen des zugrundeliegenden Objekts. Besitzen verschiedeneTypen von Hüllkörpern einen ähnlichenApproximationsgrad, werden die Hüllkörper mitden zeitaufwändigerenKollisionstests verworfen. Die oberste Stufe der Hierarchie undsomit die genaueste Darstellung eines Objekts bildet dessen konvexe Hülle. ZurKollisionserkennung bzw. Abstandsberechnung zwischen konvexen Hüllen können unterschiedliche Programmpaketeeingesetzt werden. Solange die Hüllkörper beiderObjekte kollidieren, werden die Hierarchien durchlaufen, bis zumTest der konvexen Hüllengegeneinander. Überschneidensich diese ebenfalls, liefert die Kollisionserkennung "kollidiere" zurück.
[0016] Inalternativer bevorzugter Ausgestaltung ist vorgesehen, dass dieSchnittmenge der Punkte beider Volumina der so erzeugten Hüllobjektemindestens eines Roboters mit dem in entsprechender Weise bestimmtenHüllobjekteines anderen Gegenstandes, der ebenfalls ein Roboter sein kann,bestimmt wird oder aber, dass der mittlere Abstand zweier Hüllobjektebestimmt wird.
[0017] Gemäß einer äußerst bevorzugtenAusgestaltung der Erfindung kann vorgesehen sein, dass der Arbeitsraumdes mindestens einen Roboters sowie eines anderen bewegten Gegenstandes, derebenfalls ein Roboter sein kann, in disjunkte Teilvolumina aufgeteiltwird und dass fürjedes Teilvolumen in einer zugeordneten Tabelle eingetragen wird,für welcheSätze dermindestens eine Roboter und das weitere Objekt das jeweilige Teilvolumenbelegt. In bevorzugter Ausgestaltung können dabei die disjunkten Teilvolumendisjunkte Würfelsein.
[0018] Eineweitere bevorzugte Ausgestaltung des erfindungsgemäßen Verfahrenssieht vor, dass aufeinanderfolgende bestimmte Verriegelungen miteinanderverschmolzen werden, um die Anzahl der Verriegelungen klein zu halten.
[0019] Weiterebevorzugte Ausgestaltungen der Erfindung ergeben sich aus den Ansprüchen oderaus der nachfolgenden Beschreibung, in der ein Ausführungsbeispielder Erfindung unter Bezugnahme auf die Zeichnungen im Einzelnenerläutertist.
[0020] Dabeizeigt:
[0021] 1 eineRoboterzelle mit drei Robotern;
[0022] 2 denAblauf von Bewegungen zweier Roboter mit Verriegelungen;
[0023] 3 einAblaufdiagramm zum gesamten erfindungsgemäßen Verfahren;
[0024] 4 eineschematische Darstellung von Roboterprogrammen mit Satzstrukturund Kollisionsgefahren;
[0025] 5 eineDarstellung entsprechend der 4 mit Semaphorenund Möglichkeitenzur Ver schmelzung, und
[0026] 6 einBeispiel fürdas Expandieren eines Unterprogramms.
[0027] Die 1 zeigteine Roboterzelle mit drei zusammenarbeitenden Robotern 1, 2, 3.Die einzelnen Teile Sockel 1.1, Karussell 1.2,Schwinge 1.3, Roboterarm 1.4 und Roboterhand mitWerkzeug 1.5 sind beim Roboter 1 bezeichnet. Dieweiteren Roboter 2, 3 sind entsprechend ausgestaltet.Die Roboter sind derart angeordnet und arbeiten derart, dass sichKollisionsbereiche ergeben, die in der 1 schematischgestrichelt dargestellt sind. Beispielsweise würde bei der dargestellten Positiondes Roboters 2 der Roboter 3, wenn er aus seinerebenfalls dargestellten Stellung sich zur Ablage eines Bauteils 4 indie fürdieses dargestellte Stellung entsprechend dem Pfeil A bewegen würde, eineKollision mit dem Roboter 2 auftreten.
[0028] ZurVerhinderung einer solchen Kollision werden Verriegelungen gesetztund freigegeben, wie sie in der 2 dargestelltsind.
[0029] Eingemeinsam genutzter Arbeitsbereich, in dem eine Kollision auftretenkönnte,ist hier punktiert dargestellt. Beispielsweise startet ein Roboter 1 vonseinem Startpunkt R1Pstart und bewegt sich zu einem Punkt R1P1 vordem Kollisionsbereich P. Er prüft über einean dieser Stelle in seinem Steuerprogramm vorgesehene Anweisung "EnterSpace", ob der ArbeitsbereichP, in dem sich der nächsteZielpunkt R1P2 befindet, frei ist. Ist dies der Fall, so kann derRoboter 1 in den Arbeitsbereich einfahren. Gelangt nunder Roboter 2 späterzu seiner Eintrittsstelle R2P1 in den gemeinsamen ArbeitsbereichP, so führter ebenfalls die Anweisung "EnterSpace" aus, erhält aber,da der Roboter 1 in den Arbeitsbereich P eingefahren ist,ein Signal, dass der Bereich durch den Roboter 1 belegtist, so dass der Roboter 2 warten muss, bis R1 den Bereichfreigibt. Dies geschieht nach dem Verlassen des ArbeitsbereichsP durch den Roboter 1 am Punkt R1P3 durch den von diesemausgegebenen Befehl "ExitSpace", wobei die Anweisung "EnterSpace" gegebenenfalls einenbahntreuen Stopp auslöst,d. h. auch beim Stopp keine Kollision durch Verlassen der Bahn erfolgt.
[0030] Gemäß der Erfindungsind die Programme auf mehreren Robotersteuerungen verteilt. Einweiterer Rechner dient als Zentralrechner für das Verfahren (es ist möglich, dasseine der Robotersteuerungen als Zentralrechner dient). Die Rechnersind vernetzt. Eine erste Ausprägungder Erfindung sieht vor, dass alle Programme aller Roboter auf denRobotersteuerungen abgearbeitet werden (evtl. in einem "Trockenlauf", bei dem die realenAchsen sich nicht bewegen). Die generierten Bahnen werden in gewissenZeitabständeninterpoliert, die Schrittweite der Interpolation ist vom Benutzerevtl. einstellbar. Zu jedem Interpolationspunkt werden anhand deraktuellen Achswinkel und CAD-Daten Hüllobjekte für die Roboterkonfigurationerzeugt (dieser Schritt ist sowohl auf den Robotersteuerungen alsauch auf dem Zentralrechner möglich).Die Hüllobjektewerden auf dem Zentralrechner abgelegt. Eine zweite Ausprägung derErfindung sieht vor, dass der Steuerrechner über Netzverbindung alle Programmevon allen Robotersteuerungen, sowie Hüllobjekte für die Roboter, Zusatzachsenund alle verwendeten Peripheriekomponenten (Werkzeuge, Werkstücke) vonden Robotersteuerungen in lokalen Speicher kopiert, und die Programmein einem Trockenlauf interpretiert. CAD-Daten sind schon auf demZentralrechner vorhanden. Analog zur ersten Ausprägung werdenHüllobjektefür alleZeitpunkte erstellt.
[0031] DieDatenverwaltung und Kollisionsüberprüfung kannentweder verteilt auf den Robotersteuerungen laufen, oder auf einemspeziell fürdiesen Zweck eingesetzten Rechner. Alle Informationen, die für eine Aktualisierungdes Zellenmodells erforderlich sind (aktuelle Roboterachspositionen,Position der Transportsysteme, Abmessungen von Werkzeugen und Bauteilen,...), müssennatürlichan die Stelle kommuniziert werden, wo sie für die Aktualisierung des Zellenmodellsund die Kollisionsberechnungen benötigt werden. Dabei sieht dieErfindung sowohl die Ausprägungvor – dassalle Programme aus CAD/CAM-Daten offline erzeugt, und Verriegelungennach dem erfindungsgemäßen Verfahreneingefügtwerden, bevor die Programme erstmals an der Roboteranlage gefahrenwerden – dassProgramme entweder geteacht oder offline erzeugt werden, danachauf die Roboteranlagen gebracht, und danach die Verriegelungen nachdem erfindungsgemäßen Verfahrenan der Anlage (unter Nutzung der in den Steuerungen vorhandenenRechner) eingefügtwerden. "Offline-Kollisionsvermeidung" in diesem Sinn meint,dass die Verriegelungen unabhängigvom und zeitlich vor dem tatsächlichenAnlagenlauf eingefügtwerden.
[0032] "Offline Kollisionsvermeidung" heißt also,dass währenddes tatsächlichenProgrammlaufs der Roboter keine Information über geometrische Modelle zurKollisionsvermeidung in den Steuerungen vorhanden sein muss. DerartigeInformation wurde vorher, also "offline", verwendet, um dieVerriegelungen zu bestimmen und einzutragen.
[0033] Daserfindungsgemäße Verfahrengeht demgemäß davonaus, dass gemäß 5 zunächst Steuerprogrammefür denoder die Roboter erstellt werden (Schritt A). Diese werden ebensowie die Hüllobjekteder Roboter auf Rechner übertragen,mittels derer ein "Trockenlauf", d. h. ein Durchlaufder Programme vorgenommen wird, ohne dass die Roboter tatsächlich bewegtwerden (Schritt B).
[0034] DieProgramme werden zunächstauf eine zulässigeStruktur geprüft(Schritt C); ist eine solche nicht gegeben, so erfolgt ein Abbruch(Schritt C'). BeizulässigerStruktur wird die kritische Abbildung über den genannten "Trockenlauf" und die vorgesehenenCAD-Modelle bestimmt (Schritt D).
[0035] Semaphorenwerden verschmolzen (Schritt E).
[0036] Sodannwerden automatisch Verriegelungen in die Programme eingetragen (SchrittF), wobei eine gemeinsame Verriegelung für zwei Sätze S(i, 1) und S(i + 1,1)nicht, wenn diese im Programm von Roboter 1 durch Verriegelungengegen Aufenthalt von Roboter 2 in denselben Bereichen geschützt sind.Dann werden die Programme werden gegebenenfalls auf die eigentlichenSteuerrechner zurückübertragen(Schritt G), wo die Programme sodann ausgeführt werden können (SchrittH).
[0037] DerAblauf des erfindungsgemäßen Verfahrenszum Setzen und Freigeben von Verriegelungen in Steuerprogrammenfür Robotergestaltet sich im Einzelnen wie folgt: Die Programmstellenwerden analysiert und Programmstellen festgestellt, an denen Verriegelungenim Programm eingefügtwerden können.Diese sind nur durch die Bewegungsbefehle eingeschränkt, während andere Programmbefehle,wie Rechenoperationen, Zuweisungen u.s.w. für das Verfahren nicht relevantsind. Es wird zunächstgeprüft,ob alle Punkte in den Programmen fest vorgegeben sind und nichtdurch eine Berechnungsvorschrift während des Programmablaufs,z. B. anhand von externen Signalen berechnet werden, ob keine Bewegungenstattfinden, die unmittelbar externe Signale verwenden, wie sensorengeführte Bewegungen,da hier die Bewegungsbahn nicht festliegt und ob keine verzweigendeBewegungen an beliebigen Bahnpunkten erlaubt sind, beispielsweiseaufgrund von Interrupt-Anweisungen. In diesen Fällen ist eine Durchführung desbeschriebenen Verfahrens nicht möglich.
[0038] Eswerden R Roboter betrachtet, wobei diese mit r = 1...R bezeichnetwerden. Auf jedem Roboter r läuftentweder (zyklisch) ein Programm P(r) mit einer Dauer T(r) oderzufällighintereinander eines von L(r) Programmen P(l, r), wobei 1 = 1, ...,L(r) mit der Dauer T(l, r) ist. In diesem Fall wird angenommen,dass alle Roboter am Ende eines jeden Programms in eine definierteAusgangsposition fahren, die also automatisch Startpunkt aller Programmeist. Andernfalls könnenzu jedem Programm neue Programme definiert werden, die zu allenStartpunkten der anderen Programme fahren und es kann diese erweiterteMenge von Programmen dem Verfahren zugrundegelegt werden.
[0039] Fallsnur an festen Stellen Synchronisationspunkte möglich sind, werden die Bereichezwischen den möglichenSynchronisationspunkten in der schon oben skizzierten Weise alsSätze S(i,r) bezeichnet mit i < 1, ...,M(r), wobei M(r) die Anzahl der Sätze von Programmen P(r) benennt.
[0040] DieBahn von Programm P(r) wird an N(r) Zeitpunkten t(1, r) < t(2, r) <...< t (N(r), r) ausgewertetund fürdie zum Zeitpunkt t(i, r) gültigeAchskonfiguration und das aktive Werkzeug das entsprechende durchden Roboter belegte Volumen V(i, r) ⊂ R3 anhandder CAD-Modelle bestimmt. Die Zeit abstände sind nicht notwendig fix,gegebenenfalls ist auch eine Abtastung anhand gefahrener kartesischeroder achsspezifischer Wege möglich.Bei einer solchen "Schrittweitensteuerung" wird die Bahn soabgetastet, dass zwischen zwei Zeitpunkten keine Achse bzw. kartesischeKomponente oder Orientierungskomponente mehr als einen spezifizierbarenWeg zurückgelegthat.
[0041] Beizyklischen Programmen könnenIndizes, die Zeitpunkten entsprechen, immer modulo der entsprechendenPunktanzahl betrachtet werden: FürRoboter r mit N(r) Stützpunktengelte Gleichheit von Indizes i = j immer modulo N(r), d. h. manidentifiziert als äquivalentz. B. N(r) + 1 = 1. Dies entspricht der offensichtlichen Tatsache,dass bei einer zyklischen Programmbearbeitung die vom VerfahreneingeführtenSynchronisationspunkte nur von der geometrischen Bahn abhängen unddaher immer dieselben sind, unabhängig davon, welcher Bahnpunktals Startpunkt 1 fürdas Verfahren gewähltwird. FürProgramme mit Kontrollstrukturen ist die zyklische Nachfolgerrelationdurch mengenwertige Nachfolgerbeschreibungen zu ersetzen. Im Übrigen werdendie in der Mengentheorie und Prädikatenlogik üblichenNotationen verwendet.
[0042] Nach Überprüfen derProgramme werden Satzgrenzen eingetragen. Bei einer linearen Programmablaufstruktur,bei der alle Programme aus einer zyklisch bzw. einer einmalig durchlaufenenFolge von Bewegungen bestehen, könnenBefehle z. B. mit einer Zahl identifiziert werden, und zu jedemBefehl kann auf einfache Weise (Addition bzw. Subtraktion von 1)der vorhergehende bzw. nachfolgende Befehl bestimmt werden. Mit Kontrollstrukturenergibt sich potentiell eine Menge von möglichen Nachfolgern (stattder Operation "+1" müssen alleElemente einer Nachfolgermenge betrachtet werden).
[0043] InProgrammen könnennach dem Stande der Technik Unterprogrammaufrufe, Verzweigungenund Schleifen verwendet werden. Diese können in einem allgemeinen Graphen(bei linearen/zyklischen Programmen als Spezialfall: Zyklus vonBefehlen) abgebildet werden, der die Programmstruktur wiederspiegelt.Die Notation der hier beschriebenen Algorithmen ist dann zwar aufwändiger,dem Grunde nach aber identisch. Alternativ können z. B. Unterprogrammaufrufemit dem hier beschriebenen Verfahren behandelt werden, indem dieBefehle jedes Unterprogramms UP an die Stelle des Aufrufs expandiertwerden, wie dies in 6 veranschaulicht ist.
[0044] wobeiUP Unterprogramm bedeutet, PTP eine Punkt-zu-Punkt-Bewegung zu dem jeweilsdaneben angegebenen Punkt benennt und LIN eine Linearbewegung benennt.In der ersten Spalte findet sich eine Kurzbezeichnung für die Originalprogramme,in der zweiten eine fürdie gegebenenfalls expandierten Programme, die im Rahmen der Expansionden Inhalt der Unterprogramme bilden.
[0045] NachReduzierung auf diese "Normalform" werden Satzgrenzeneingetragen. Diese begrenzen, wie bereits erläutert, die Bewegungsabschnitteminimaler Länge,die durch die Verriegelungen geschützt werden können. Prinzipiellist zulässig,dass eine Verriegelung in jedem Interpolationstakt bzw. sogar zujedem kontinuierlichen Zeitpunkt gesetzt werden kann. Bei kontinuierlichverschiebbaren Verriegelungen muss allerdings eine endliche Anzahlvon Stellen festgelegt werden, um die Durchführung des Verfahrens zu gewährleisten. Alternativkann eine gewünschteDiskretisierungsstufe angegeben werden, innerhalb der Verriegelungengesetzt werden sollen.
[0046] ImWeiteren erfolgt dann die Prüfungauf Kollisionen. Typischerweise verwenden Verfahren zur Kollisionsprüfung Hüllobjekteder Geometrie von Robotern, Werkzeugen, Werkstücken, Sensoren und weiterenin der Automatisierung üblichenObjekten. Die Hüllobjektezur Kollisionsprüfungsind dabei nicht nur abhängig vonden Gelenkvariablen des Roboters, sondern auch von dem jeweils verwendetenWerkzeug und Werkstück;z. B. belegt ein Greifer abhängigvom aktuell gegriffenen Werkstückein unterschiedliches Raumvolumen. Bekannt sind auch Vorrichtungenzum automatischen Wechsel von mehreren Schweißzangen, Greifern u.s.w. DieErfindung nimmt an, dass zu jedem Zeitpunkt des Programms bekanntist, welche Werkzeuge u.s.w. aktiv sind, und dass die entsprechendenCAD-Daten in geeigneter Form zur Verfügung stehen.
[0047] Wesentlichfür dieErfindung sind folgende Eigenschaften von Schnittverfahren: Zu jezwei Sätzen(d. h. Programmabschnitten verschiedener Roboter) und für jedenZeitpunkt dieser Sätzegegebenen Hüllobjektenkann entschieden werden, ob eine Kollision möglich ist. Ergebnis diesesTests ist eine binäreVariable. Für diesenTest könnenz. B. die beiden weiter unten beschriebenen Verfahren verwendetwerden.
[0048] ZurBeschreibung der Verfahren sind weitere Bezeichnungen nötig: Ergebnisder Kollisionsprüfungist eine als "kritischeAbbildung" C(i,j) zu bezeichnende Information. Dies wird im Folgenden nur für den FallR = 2 beschrieben, d. h. nur 2 Roboter. Eine Erweiterung auf R > 2 Roboter ist problemlosmöglich.Es gilt: C: {1, ..., M(1)} × {1, ..., M(2)} → {TRUE,FALSE}C(i, j):= TRUE, falls Kollisionsgefahr bei gleichzeitigemArbeiten von Roboter 1 in Satz i (von P(1) und von Roboter 2 inSatz j (von P(2)) besteht, C(i, j) := FALSE sonst
[0049] DieSätze inden beiden Roboterprogrammen können,wie in 3 und 4 dargestellt, als nummerierteAbschnitte einer Geraden aufgetragen werden. Die Länge derAbschnitte ist unwesentlich, kann aber zur weiteren Veranschaulichungder Dauer oder des zurückgelegtenWeges eines Satzes verwendet werden. Zwischen Sätzen i und j der beiden Roboter 1, 2 wirdeine Verbindung gezogen, falls C(i, j) = TRUE, also eine Kollisionsgefahrbesteht.
[0050] ImBeispiel der 3 kann, wenn Roboter 1 inSatz 1 und Satz 2 arbeitet, Roboter 2 nicht nachSatz 2 einfahren. Sobald Roboter 2 Satz 1 verlassen(und Satz 3 erreicht) hat, kann Roboter 2 in Satz 2 einfahren, allerdingsnicht nach Satz 3.
[0051] Die Überprüfung aufKollisionen kann erfindungsgemäß, wie obenangedeutet, die Schnittbestimmung allgemeiner Mengen oder aufgrundZerlegung des Arbeitsraums aller Roboter in digitale Teilmengen,insbesondere der "Würfel" erfolgen. Zunächst wirddas erstgenannte Verfahren erläutert.
[0052] DerAlgorithmus A zur Bestimmung des Durchschnitts zweier Volumina Vund W (Volumen bezeichnet Teilmengen des kartesischen Raumes, dieimmer beschränkt,abgeschlossen und ohne Löchersind – immathematischen Sinn der algebraischen Topologie, der hier der Anschauunggenau entsprechen kann), kann als Ergebnis entweder eine boolescheVariable liefern, A(V, W) = TRUE, falls sich V und W schneiden;FALSE sonst oder den minimalen Abstand der Volumina d(V, W) = min{d(v, w): v ∈ V,w ∈ W}(Hausdorff-Abstand). V und W schneiden sich genau dann (für abgeschlosseneund beschränkteMengen), wenn d(V, W) = 0. Fürdas erfindungsgemäße Verfahrenkann dann definiert werden A(V, W) = (d(V, W)== 0)
[0053] DieInformation d(V, W) > 0kann dabei füreffizientere Implementierungen der Verfahren genutzt werden: Istd(V, W) sehr groß,heißtdies, dass sich die Roboter erst gewisse Zeit bewegen müssen, um überhaupt inkritischen Abstand zu geraten. In diesem Fall kann, unter Verwendungder bekannten maximalen Geschwindigkeiten der Roboter, die Berechungeiniger Schnitte unterbleiben, und "kein Schnitt" angenommen werden. Zur effizientenImplementierung wird man grundsätzlichverwenden, dass sich die Volumina von einem Zeitschritt zum nächsten nichtstark unterscheiden. Konkrete Implementierungen solcher Verfahrenverwenden eine Unterteilung der Roboter- und Bauteilstrukturen inkonvexe Mengen oder Hüllkurven,typischer Ellipsoide, die baumartig angeordnet sind. Für derartigeDatenstrukturen könnenschnelle Schnittprüfungenvorgenommen werden:
[0054] InWorten: Sätzei (von Roboter 1) und j (von Roboter 2) sind kollisionskritisch,falls sich die Volumina von mindestens einem Zeitpunkt t(i, 1) inSatz i und mindestens einem Zeitpunkt t(j, 2) in Satz j schneiden.
[0055] Äquivalentkann die kritische Abbildung definiert werden durch:
[0056] DieseOperation ist aber in der Regel schwierig durchzuführen, dabei der Bildung der Vereinigung ∪{V(t(i,1)): t(i, 1) ∈ S(i,1)} viele strukturelle Eigenschaften verloren gehen, die von Algorithmenzur Kollisionsprüfungverwendet werden (Hierarchie, Konvexität von einhüllenden Mengen, Kugeln oderandere einfache geometrische Objekte als einhüllende Flächen). Kurz gesagt: Der AlgorithmusA liefert die Schnittinformation für Zeitpunkte, die Einzelkonfigurationendes Roboters entsprechen. Die kritische Abbildung liefert dieselbeInformation für Zeiträume, dieBahnen entsprechen.
[0057] Beider Kollisionsüberprüfung mussim schlimmsten Fall jedes Robotervolumen zu jedem Zeitpunkt gegenjedes andere Robotervolumen zu allen anderen Zeitpunkten auf Kollisiongeprüftwerden: Dies erfordert 0(N(1) × ... × N(R))Operationen (im Sinn der Komplexitätstheorie). Dies stellt eine zeitaufwändige Operation dar,selbst wenn diese Prüfungnur einmalig durchgeführtwerden muss.
[0058] Diebevorzugte Ausprägungder Erfindung sieht daher folgendes, in der Regel schnellere, Verfahren vor:Der gesamte Arbeitsraum aller Roboter wird in Würfel W(1), ..., W(Z) aufgeteilt(alternativ und ohne Einschränkungdes Verfahrens eine Zerlegung in disjunkte Teilmengen). Über dieSeitenlängeder Würfelist die Feinheit der Kollisionserkennung einstellbar. Jedem Würfel W(z)wird fürjeden Roboter eine Tabelle zugeordnet, in der eingetragen wird,für welcheSätze jederRoboter diesen Würfelbelegt. Dies kann z. B. auf folgende Arten geschehen: 1. Eine boolesche Variable D1(z, r, s) mit Wert TRUE, fallsWürfelW(z) von Roboter r zu irgendeinem Zeitpunkt von Satz s belegt wird. 2. Eine mengenwertige Variable D2 (z, r), in der alle Sätze desProgramms von Roboter r eingetragen werden, die zu irgendeinem Zeitpunktden WürfelW(z) belegen.
[0059] Algorithmischwerden D1 bzw. D2 so bestimmt: 1. InitialisiereD1(z, r, s) = FALSE bzw. D2 (z, r) = Ø für alle z, r, s 2. Füralle Roboter r 3. Füralle Sätzes in Programm P(r) von Roboter r 4. Für alle Zeitpunkte t(i, r) inSatz s 5. Füralle WürfelW(z) 6. Bestimme den Schnitt von W (z) mit V (t (i, r), r). Fallsdieser nicht leer ist, setze D1(z, r, s) = TRUE bzw. füge s zuD2 (z, r) hinzu.
[0060] DieBestimmung der kritischen Abbildung C aus D1 oder D2 erfolgt dannso: Fürden Fall R = 2, d. h. 2 Roboter: 1.
[0061] Diesesbevorzugte Verfahren zur Bestimmung der kritischen Abbildung C erfordertnur 0(N(1) +...+ N(R)) Operationen verglichen mit den oben genannten0(N(1) ×...× N(R)).
[0062] DasVerfahren erfordert einigen Speicheraufwand, der aber als preiswertangesehen werden kann, währendZeit ein prinzipiell knappes Gut ist. Die Daten über Kollisionen können auchin externem Speicher abgelegt werden und zur schnellen Bestimmungder Semaphoren genutzt werden, wenn sich die Programme nur leichtgeänderthaben.
[0063] Nachder Kollisionsprüfungerfolgt die Bestimmung der notwendigen Verriegelungen. Übliche Roboter-Steuerungenbesitzen in der Regel ein Konzept für verteilte Semaphoren. Diesekönnenu.a. unter Verwendung von binärenEin- und Ausgängenrealisiert werden.
[0064] JedesPaar von Semaphoren-Anweisungensklammern EnterSpace (SemaphoreIdentifier)und ExitSpace (SemaphoreIdentifier) auf zwei Robotern kann als logischeVerriegelung der Anweisungen zwischen den Anweisungsklammern aufgefasstwerden, mithin als Verriegelung der Arbeitsbereiche, die die Roboterbei Abarbeitung der Befehle zwischen den Klammern verwenden. TypischeRealisierungen von Semaphoren verwenden Ein- und Ausgänge, aufdie von mehreren Steuerungen aus zugegriffen werden kann.
[0065] Dieeinfachste Vorgehensweise zur Vermeidung von Kollisionen bestehtnun darin, alle Sätzei auf Roboter 1 und alle Sätze j auf Roboter 2,für dieC(i, j) = TRUE gilt, folgendermaßen zu schützen: Definiere Semaphoren(mit der Einfachheit demselben Namen) C(i, j) für alle i, j, für die C(i,j) = TRUE gilt. Dies bedeutet maximal M(1)·M(2) Semaphoren.
[0066] Nichtnotwendigerweise, aber bevorzugt, erfolgt im Weiteren ein Verschmelzenvon Verriegelungen, um die Zahl der Semaphoren (5,Schritt E) so gering wie möglichzu halten (3, sein E). Die minimale Anzahlvon Semaphoren liefert folgenden Algorithmus: 1.wiederhole 2. falls C(i, k) = C(i+1, k) für alle k, dann verschmelzeSätze S(i,1) und S(i + 1,1) zu einem Satz mit nur einer Verriegelung, dieja dann hinsichtlich der Kollisionen mit Sätzen von Roboter 2 diegleichen Eigenschaften haben. Verwende statt der Semaphoren C(i,k) und C(i, k+1) nur eine Semaphore C(i, k), die der Einfachheit halberdenselben Namen trägt.Die Semaphore C(i, k+1) kann eingespart werden. 3. falls C(k, j) = C(k, j + 1) für alle k, dann verschmelzeSätze S(j,2) und S(j+1, 2), die ja dann hinsichtlich der Kollisionen mit Sätzen vonRoboter 1 die gleichen Eigenschaften haben. Analog zu Punkt2 kann die Semaphore C(i, k+1) eingespart werden. 4. solange es Indices i bzw. j mit Eigenschaften 2. oder 3. gibt
[0067] Mankann zeigen, dass jede andere Verschmelzungsstrategie die gegenseitigeBewegungsfreiheit der Roboter unnötig einschränkt. Im Beispiel von 4 können dieSemaphoren C(1, 2), C(2, 2), C(3, 2) zu einer Semaphore reduziertwerden.
[0068] FallsC(k, j) = C(k, j + 1) fürnicht alle k, dann könnenSätze S(j,2) und S(j+1, 2) nicht verschmolzen werden.
[0069] In 3 können dieSemaphoren S(2, 2) und S(2, 3) nicht verschmolzen werden, da siesich z. B. bezüglichSatz 1 von Roboter 1 unterscheiden. Verschmelzen von S(2,2) und S(2, 3) würdedann auch das gleichzeitige Arbeiten von Roboter 1 in Satz 1 undRoboter 2 in Satz 3 verbieten. Verschmelzen von Semaphorenbzw. Sätzenunter schwächerenVoraussetzungen schränktdie Bewegungen unnötigein. Streichen von Semaphoren erzeugt offensichtlich Programme mitpotentiellen Kollisionen. Werden in Erweiterung der Erfindung stattlinearer bzw. zyklischer Programme auch Verzweigungen und Schleifenbetrachtet, werden z. B. an den Grenzen von Alternativen weitereMarkierungen <nichtverschmelzen> benötigt.
[0070] ImWeiteren werden Programmanweisungen für Verriegelungen eingetragen(5, Schritt F).
[0071] Für jede VerriegelungC(i, j) wird in jedem beteiligten Programm ein Paar von AnweisungenEnterSpace, ExitSpace um den zu schützenden Satz herum eingetragen.Ein typisches Programmpaar hat dann folgende Gestalt: Programmfür Roboter 1:
[0072] Programmfür Roboter 2:
[0073] SindVerriegelungen auch innerhalb von Bewegungen möglich, z. B. an jedem IPO-Takt,sind zeitbezogene Konstrukte erforderlich, z. B. in der SpracheKRL sogenannte Trigger-Anweisungen:
[0074] NachEintragung aller Verriegelungen und gegebenenfalls Rückübertragungder Programme auf die Steuerungsrechner, können die Programme bearbeitetwerden. Dazu werden alle Roboter in eine Vorzugsposition (zugleichStartposition der Programme) verfahren, in der keine Kollisionsgefahrbesteht, und alle Verriegelungen werden aufgehoben. Erreicht einRoboterprogramm P(i) eine Verriegelung EnterSpace(S), deren Semaphorevon keinem anderen Programm P(j) genommen wurde, so nimmt P(i) dieSemaphore zu S und kann den Roboter ohne Stopp in den geschützten Bereichverfahren. Erreicht P(i) den Befehl zur Aufhebung der VerriegelungExitSpace(S), so wird die Semaphore zu S freigegeben, und der geschützte Bereichverlassen. Erreicht ein Roboterprogramm P(i) eine Verriegelung EnterSpace(S),deren Semaphore von einem anderen Programm P(j) genommen wurde,erfolgt ein Stopp fürProgramm P(i) wegen Kollisionsgefahr. Wird die Verriegelung dannim Programm P(j) durch ExitSpace(S) freigegeben, kann die Bearbeitungvon Programm P(i) fortgesetzt werden. Bei manuellem Verfahren derRoboter (etwa bei Inbetriebnahme, nach Stopp u.s.w.) muss der Benutzer über dieBedieneinheit die Verriegelungen/Semaphoren explizit verwalten.
[0075] Beider Programmierung und Inbetriebnahme von Roboteranlagen werdenvom Programmierer bereits Verriegelungen gesetzt. Nach Erfahrungist dies äußerst fehleranfällig. Dasbisher beschriebene Verfahren zur Bestimmung von Verriegelungenin Programmen ohne Verriegelung kann folgendermaßen modifiziert werden, umbestehende Verriegelungen auf Vollständigkeit zu prüfen undgegebenenfalls zu ergänzen. 1. Die vorhandenen Programme werden analysiertund die Zuordnung von Sätzenund Verriegelungen bestimmt. Die vorhandenen Verriegelungen werdenals kritische Abbildung K(i, j) interpretiert: K(i, j) = TRUE genaudann, wenn aufgrund vorhandener Verriegelungen Satz i von Roboter 1 undSatz j von Roboter 2 nicht gleichzeitig durchlaufen werdenkönnen.(Die Argumentation ist also in gewisser Weise invers zur Bestimmungder Verriegelungen: dort war C(i, i) = TRUE, falls Kollisionsgefahrbesteht, und die Verriegelungen wurden entsprechend gesetzt. Hierwird K(i, j) aus bestehenden Verriegelungen bestimmt). 2. Durchführungdes Verfahrens zur Bestimmung von Verriegelungen. Ergebnis ist eineminimale Menge von erforderlichen Verriegelungen, definiert über diekritische Abbildung C(i, j). 3. Falls K(i, j) = TRUE gilt für alle i, j, für die C(i,j) = TRUE gilt, so sind die bereits programmierten Verriegelungenausreichend. (K(i, j) = TRUE, aber C(i, j) = FALSE entspricht einerunnötigenVerriegelung, die aber die Sicherheit nicht gefährdet). 4. Falls K(i, j) = FALSE gilt für ein i, j, für das C(i,j) = TRUE gilt, so besteht Kollisionsgefahr. Alternativ wird eineMeldung ausgegeben, die den Benutzer zur Programmierung einer Verriegelungauffordert (und andernfalls den Programmstart verhindert), odereine Verriegelung wird fürC(i, j) automatisch eingefügt.
[0076] BeiAnlagen im Betrieb ist es bisweilen nötig, programmierte Punkte zu ändern, dasich eventuell Zuführeinrichtungen,Werkzeuge oder andere Peripherieeinrichtungen mechanisch verändert haben(Verschleiß, Beschädigung,Alterung). Übli cherweisesind aber nur wenige Punkte bzw. wenige Sätze betroffen, oft nur an einemeinzelnen Roboter. Potentiell entstehen dabei neue Kollisionsmöglichkeiten,die vor der Umprogrammierung nicht vorlagen. Aus Zeitgründen solldie Ermittlung der Verriegelungen schnellstmöglich geschehen. Sind nun dieVerriegelungen an diesem Roboter mit dem auf den Seiten 18 bis 20beschriebenen Verfahren ermittelt worden, so kann besonders vorteilhaftfestgestellt werden, wie die Verriegelungen auf allen Robotern geändert werdenmüssen.Dazu wird angenommen, dass die Variablen D1(z, r, s) bzw. D2 (z,r) in externem Speicher abgelegt wurden. Weiter nimmt die Erfindungan, dass zu jedem Satz bzw. Punkt über eine Variable bekannt ist,ob dieser Satz bzw. Punkt seit der letzten Durchführung desVerfahrens zur Bestimmung von Verriegelungen geändert wurden. Von den InformationenD1, D2 müssendann nur diejenigen überdie (relativ) zeitaufwändigegeometrische Schnittprüfungmit Würfelnneu berechnet werden, die geänderteSätze betreffen.Danach werden alle alten Verriegelungen aus den Programmen entferntund anhand der neuen Information D1, D2 neue Verriegelungen eingetragen.
权利要求:
Claims (10)
[1] Verfahren zum Schützen von mindestens zwei Robotern,insbesondere Mehrachs-Industrie-Robotern gegen Kollisionen, dadurchgekennzeichnet, dass Bewegungen des mindestens einen Robotersautomatisch auf möglicheKollisionen geprüftwerden, und dass in den Bewegungsablauf automatisch Verriegelungen eingefügt werden.
[2] Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass vor Einfügungeiner Verriegelung, vorzugsweise vor dem Prüfen auf mögliche Kollisionen, zulässige Verriegelungspunkteautomatisch bestimmt werden.
[3] Verfahren nach Anspruch 2, dadurch gekennzeichnet,dass Satzgrenzen als möglicheVerriegelungspunkte bestimmt werden.
[4] Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,dass zur Kollisionsbestimmung Hüllobjekteder Roboter oder von Roboterteilen erzeugt werden, die auf Kollisionenhin geprüftwerden.
[5] Verfahren nach Anspruch 4, dadurch gekennzeichnet,dass Hierarchien von Hüllobjektenerzeugt werden.
[6] Verfahren nach einem der vorangehenden Ansprüche, dadurchgekennzeichnet, dass der Durchschnitt der Hüllvolumina mindestens zweierRoboter bestimmt wird.
[7] Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet,dass der minimale Abstand der Hüllvoluminabestimmt wird.
[8] Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,dass der Arbeitsraum der Roboter in disjunkte Teilvolumina in einerzugeordneten Tabelle eingetragen wird, für welche Sätze jeder Roboter das jeweiligeTeilvolumen belegt.
[9] Verfahren nach Anspruch 8, dadurch gekennzeichnet,dass der Arbeitsraum der Roboter in disjunkte Würfel aufgeteilt wird und dassfür jedenWürfelin einer zugeordneten Tabelle eingetragen wird, für welche Sätze jederRoboter den jeweiligen Würfelbelegt.
[10] Verfahren nach einem der vorangehenden Ansprüche, dadurchgekennzeichnet, dass aufeinanderfolgende Verriegelungen miteinanderverschmolzen werden.
类似技术:
公开号 | 公开日 | 专利标题
Iglesias et al.2015|Overview of the state of robotic machining: Current situation and future potential
Sørby2007|Inverse kinematics of five-axis machines near singular configurations
EP2539116B1|2017-03-22|Prozessmodulbibliothek und programmierumgebung zur programmierung eines manipulatorprozesses
JP2895672B2|1999-05-24|複数ロボット制御方法
EP1366867B1|2009-01-21|Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
EP1681607B1|2008-01-09|Biegevorrichtung mit Mitteln zur Durchführung von Installationsvorgängen
US5465221A|1995-11-07|Automated process planning for quality control inspection
US7251543B2|2007-07-31|Interference checking device
Chou et al.1992|On the generation of coordinated motion of five-axis CNC/CMM machines
US6004016A|1999-12-21|Motion planning and control for systems with multiple mobile objects
US6597971B2|2003-07-22|Device for avoiding interference
Erdmann et al.1987|On multiple moving objects
JP3732494B2|2006-01-05|シミュレーション装置
CN103970139B|2017-01-11|一种机器人连续点位运动规划方法
DE202015105595U1|2016-01-14|Absolutes robotergestütztes Positionsverfahren
Koren et al.1985|Robotics for engineers
US10279476B2|2019-05-07|Method and system for programming a robot
Zhou et al.1993|Petri net synthesis and analysis of a flexible manufacturing system cell
US7114157B2|2006-09-26|System controlling exclusive access by control programs to system resources
EP0129091B1|1990-04-11|Numerisches Steuerungssystem, grafisches Sichtgerät und Werkzeugmaschine
US8812159B2|2014-08-19|Robot system
DK2285537T3|2016-04-11|Device and method for computer-assisted generation of a manipulatorbane
EP1901150B1|2008-10-29|Verfahren und Vorrichtung zur Vermeidung von Kollisionen zwischen einem Industrieroboter und einem Objekt
Lin2000|Real-time surface interpolator for 3-D parametric surface machining on 3-axis machine tools
Unhelkar et al.2018|Human-aware robotic assistant for collaborative assembly: Integrating human motion prediction with planning in time
同族专利:
公开号 | 公开日
DE102004027944B4|2012-02-16|
EP1604790A3|2008-10-15|
EP1604790A2|2005-12-14|
US20050273200A1|2005-12-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
DE3416227C2|1983-05-02|1992-01-09|Hitachi, Ltd., Tokio/Tokyo, Jp||
US5204942A|1989-01-10|1993-04-20|Kabushiki Kaisha Kobe Seiko Sho|Robot control system for controlling a set of industrial robots for cooperative operation|
EP0412619B1|1989-08-11|1995-11-29|Philips Electronics N.V.|Verfahren und Gerät zur Feststellung möglicher Kollisionen durch den Gebrauch von Angaben geometrischer Hubvolumenstrukturen|
US5247608A|1991-04-01|1993-09-21|At&T Bell Laboratories|Method and apparatus for achieving dynamic path control of multiple robots|
EP0582715B1|1992-01-28|1997-11-12|Fanuc Ltd.|Verfahren zum steuern von mehreren robotern|
US5347459A|1993-03-17|1994-09-13|National Research Council Of Canada|Real time collision detection|
US6212444B1|1996-06-18|2001-04-03|Fanuc Limited|Method of avoiding interference of industrial robot|DE102008013400A1|2008-03-06|2009-09-10|Hörmann Engineering GmbH|Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts|
DE102009006256A1|2009-01-27|2010-07-29|Deutsches Forschungszentrum für künstliche Intelligenz GmbH|Verfahren zur Vermeidung von Kollisionen gesteuert beweglicher Teile einer Anlage|
DE102009048577A1|2009-10-07|2011-04-14|Ibg Automation Gmbh|Industrieroboter, Zusatzvorrichtung, Verfahren und Computerprogramm hierfür|
DE102016211129A1|2016-06-22|2017-12-28|Kuka Roboter Gmbh|Verfahren zum Überprüfen einer Kollision zwischen zwei fahrerlosen Transportfahrzeugen, fahrerloses Transportfahrzeug und System mit mehreren fahrerlosen Transportfahrzeugen|JPS6436307A|1987-08-01|1989-02-07|Nec Corp|System for evading collision in shared working space of plural robots|
US5056031A|1988-11-12|1991-10-08|Kabushiki Kaisha Toyota Chuo Kenyusho|Apparatus for detecting the collision of moving objects|
US5150452A|1989-07-28|1992-09-22|Megamation Incorporated|Method and apparatus for anti-collision and collision protection for multiple robot system|
JPH10264058A|1997-03-21|1998-10-06|Nissan Motor Co Ltd|ロボット干渉域設定プログラム作成方法|
JPH11134017A|1997-10-27|1999-05-21|Honda Motor Co Ltd|オフラインティーチング方法|
JPH11327617A|1998-05-18|1999-11-26|Ricoh Co Ltd|プログラム作成支援装置|
JP2003103484A|2001-09-28|2003-04-08|Honda Motor Co Ltd|ロボットのインターロック設定方法|
JP4228387B2|2001-10-25|2009-02-25|株式会社安川電機|複数ロボットの作業教示方法および作業教示装置|
US7114157B2|2001-11-27|2006-09-26|Kuka Roboter Gmbh|System controlling exclusive access by control programs to system resources|
US6678582B2|2002-05-30|2004-01-13|Kuka Roboter Gmbh|Method and control device for avoiding collisions between cooperating robots|JP4159577B2|2005-12-13|2008-10-01|ファナック株式会社|複数のロボット間のインターロック自動設定装置及び自動設定方法|
WO2007121357A2|2006-04-13|2007-10-25|Fanuc Robotics America, Inc.|Dynamic space check for multi-arm system moving on a rail|
AT459030T|2006-09-14|2010-03-15|Abb Research Ltd|Verfahren und vorrichtung zur vermeidung von kollisionen zwischen einem industrieroboter und einem objekt|
US8588970B2|2006-10-13|2013-11-19|Honeywell International Inc.|Robotic system with distributed integrated modular avionics across system segments|
DE102007006708A1|2007-02-10|2008-08-14|Abb Research Ltd.|Verfahren zur Sicherung eines Handhabungsgeräts|
EP2208584B1|2009-01-14|2011-12-21|GFRT - Fortschrittliche Robotertechnologie GmbH & Co. KG|Verfahren zur Steuerung von Industrierobotern|
US8386080B2|2009-09-15|2013-02-26|Harris Corporation|Robotic apparatus implementing collision avoidance scheme and associated methods|
JP5981215B2|2011-05-05|2016-08-31|ファナック アメリカ コーポレイション|マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム|
ITTO20110994A1|2011-10-31|2013-05-01|Comau Spa|Metodo per il controllo di almeno due robot aventi rispettivi spazi di lavoro includenti almeno una regione in comune|
US8768492B2|2012-05-21|2014-07-01|Tait Towers Manufacturing Llc|Automation and motion control system|
WO2015023831A1|2013-08-16|2015-02-19|Intuitive Surgical Operations, Inc.|System and method for coordinated motion among heterogeneous devices|
US9278449B1|2014-05-21|2016-03-08|Bot & Dolly, Llc|Closed-loop control system for robotic operation|
US9555545B2|2014-05-21|2017-01-31|Bot & Dolly, Llc|Systems and methods for time-based parallel robotic operation|
EP3180661B1|2014-11-13|2020-03-04|Siemens Aktiengesellschaft|Produktionsmodul zur durchführung einer produktions-funktion an einem produkt|
JP6556245B2|2015-02-13|2019-08-07|アーベーベー シュヴァイツ アクツィエンゲゼルシャフト|Method for avoiding a collision between two robots|
DE102015007395A1|2015-06-08|2016-12-08|Kuka Roboter Gmbh|Verfahren und System zum Betreiben und/oder Überwachen einer Maschine, insbesondere eines Roboters|
US9707681B2|2015-07-27|2017-07-18|Siemens Industry Software Ltd.|Anti-collision management of overlapping robotic movements|
US9744668B1|2015-08-21|2017-08-29|X Development Llc|Spatiotemporal robot reservation systems and method|
US9981385B2|2015-10-12|2018-05-29|The Boeing Company|Dynamic automation work zone safety system|
JP6576255B2|2016-01-25|2019-09-18|キヤノン株式会社|ロボット軌道生成方法、ロボット軌道生成装置、および製造方法|
EP3266570A1|2016-07-08|2018-01-10|Siemens Industry Software Ltd.|Verfahren zur kollisionsschutzverwaltung von überlappenden robotischen bewegungen|
US10131053B1|2016-09-14|2018-11-20|X Development Llc|Real time robot collision avoidance|
TWI660275B|2018-06-27|2019-05-21|廣達電腦股份有限公司|Task area distribution method for cleaning device, cleaning device task distribution system, and cleaning device|
TWI687191B|2018-10-23|2020-03-11|廣達電腦股份有限公司|用於多個清潔裝置之任務區域分配方法以及其系統|
法律状态:
2005-12-29| OP8| Request for examination as to paragraph 44 patent law|
2011-03-17| R016| Response to examination communication|
2011-05-12| 8127| New person/name/address of the applicant|Owner name: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE |
2011-05-12| R081| Change of applicant/patentee|Owner name: KUKA LABORATORIES GMBH, DE Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE Effective date: 20110304 Owner name: KUKA ROBOTER GMBH, DE Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE Effective date: 20110304 |
2011-10-05| R018| Grant decision by examination section/examining division|
2012-08-23| R020| Patent grant now final|Effective date: 20120517 |
2015-06-22| R081| Change of applicant/patentee|Owner name: KUKA ROBOTER GMBH, DE Free format text: FORMER OWNER: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE |
2015-06-22| R082| Change of representative|Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE Representative=s name: FUNK & BOESS GBR, DE |
2017-04-23| R082| Change of representative|Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE |
2018-10-17| R082| Change of representative|Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE |
2018-10-17| R081| Change of applicant/patentee|Owner name: KUKA DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE |
2020-01-20| R082| Change of representative|Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE |
优先权:
申请号 | 申请日 | 专利标题
DE102004027944A|DE102004027944B4|2004-06-08|2004-06-08|Verfahren zum Schützen eines Roboters gegen Kollisionen|DE102004027944A| DE102004027944B4|2004-06-08|2004-06-08|Verfahren zum Schützen eines Roboters gegen Kollisionen|
EP05012088A| EP1604790A3|2004-06-08|2005-06-04|Verfahren zum Schützen eines Roboters gegen Kollisionen|
US11/147,100| US20050273200A1|2004-06-08|2005-06-07|Process for protecting a robot from collisions|
[返回顶部]